Software systems including, but not limited to, individual software applications, have become indispensable tools for helping consumers, i.e., users of the software systems, perform a wide variety of tasks in their daily professional and personal lives. Currently, numerous types of desktop, web-based, and cloud-based software systems are available to help users perform a plethora of tasks ranging from basic computing system operations and word processing, to financial management, small business management, tax preparation, health tracking and healthcare management, as well as other personal and business endeavors, operations, and functions far too numerous to individually delineate here.
One major, if not determinative, factor in the utility, and ultimate commercial success, of a given software system of any type is the ability of the software system provider to implement and provide a user/customer support system through which a given user can obtain assistance and, in particular, get answers to questions that arise during the installation and operation of the software system. However, providing potentially millions of software system users specialized advice and answers to their specific questions is a huge undertaking that can easily, and rapidly, become economically infeasible for the software system provider.
To address this problem, many providers of software systems implement or sponsor customer support systems, such as question and answer based customer support systems. Typically, a question and answer based customer support system includes a hosted forum through which an asking user can direct their specific questions, typically in a text format, to a support community that often includes other users and/or professional agent support personnel.
Currently available customer support systems are typically provided as a feature that is accessed through a portal or interface that is, at best, accessible in association with an application the asking user is currently using, but which is typically separate from the current application display and requires the asking user to leave the context, and often the application itself, in which the question or issue arose. In addition, using currently available customer support systems, when an asking user submits a question, e.g., submits question data, the question data is then posted in a customer support question and answer database. Once the question data is posted, the customer support question and answer database must then be accessed by any of the members of the support community, once again typically via a separate portal or interface. The members of the support community must then read through the questions submitted to determine if they have the expertise, and time, to answer a given submitted question. Typically, members of the support community currently have no mechanism for indicating their availability to answer any questions, much less specific types of questions or topics. In addition, there is typically no personal connection between the asking user and the members of the support community in that the asking user typically does not select a specific member of the support community but instead submits the question to the entire support community.
Consequently, using currently available customer support systems, an asking user must leave the context of their current location in the application, which is often where the question arose, and submit their question data to a separate customer support question and answer database. Then the asking user must wait for a non-specified member of the support community, hopefully with the proper expertise, to also leave the context of their current location in the application and separately access the customer support question and answer database, read through recent questions submitted by all asking users, and then hopefully find the asking users question at a time when the member of the support community is prepared to submit a response. The member of the support community with the proper expertise must then respond to the question and post the answer to the customer support question and answer database. Then the asking user must again access the separate customer support question and answer database to obtain the answer to the asking user's question.
Clearly, the situation described above is inefficient and inconvenient for both the asking user and the members of the support community. This, in and of itself, diminishes the usefulness of currently available customer support systems. However, given that many members of the support community are volunteers, the shortcomings of currently available customer support systems are potentially far more significant than mere inefficiency or inconvenience. This is because many potential support community members may simply decline to participate in currently available customer support systems due to the inconvenience and inefficiency involved.
The situation described above presents several challenges to the providers of customer support systems. These challenges are partially significant given that there is, by definition, a finite number of support resources, such as, for example, support personnel, either volunteers or professionals, and, therefore, there is a limit to the amount of support resources, such as support person-hours, available at any time to answer user questions. Consequently, it is important to utilize support resources, such as a support community, efficiently.
Despite this long standing need, traditional customer support systems typically do not address the issue discussed above. Consequently, the situation described above represents a long standing problem for customer support systems and software system providers. This is because user satisfaction with the customer support systems is critical to the satisfaction and reputation of the software system and the software system provider. As a result of the situation described above, currently, both users and providers of software systems, and customer support systems of all types, are denied the full potential of the customer support systems. Consequently, the technical fields of information dissemination, customer support, feedback utilization and integration, software implementation and operation, and user experience are detrimentally affected.
What is needed is a method and system for dynamically providing asking users of a software system access to members of a support community for the software system that have the expertise required and that are currently working in the same context as the asking user, such as those working same location within the software system as the asking user's current location within the software system. In this way, the asking users can connect with other users of the software system who have the required expertise to answer the asking user's question, and who are currently working within the same area or context of the software system as the asking user. As a result, an expertise and context based peer-to-peer assistance and customer support system could be provided that would be more effective, efficient, and convenient than currently available customer support systems.